package br.com.ufc.apsoo.hotelar.controller;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.primefaces.model.chart.PieChartModel;

import br.com.ufc.apsoo.hotelar.dao.ApartamentoDao;
import br.com.ufc.apsoo.hotelar.dao.HospedagemDao;
import br.com.ufc.apsoo.hotelar.dao.impl.ApartamentoDaoImpl;
import br.com.ufc.apsoo.hotelar.dao.impl.HospedagemDaoImpl;

public class RelatorioController {
	private Date data;
	private String dataFormatada;
	private PieChartModel pieModel;
	private ApartamentoDao apartamentoDao;
	private HospedagemDao hospedagemDao;
	
	public RelatorioController() {
		data = new Date();
		pieModel = new PieChartModel();
		apartamentoDao = new ApartamentoDaoImpl();
		hospedagemDao = new HospedagemDaoImpl();
	}
	
	public String calculaTaxaOcupacao() {
		pieModel = new PieChartModel();
		Integer total = apartamentoDao.list().size();
		Integer livres = total - hospedagemDao.getHospedagensByData(data).size();
		Integer ocupados = total - livres;
		pieModel.set("Livres", livres);  
        pieModel.set("Ocupados", ocupados);
        
        SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yyyy");
        dataFormatada = formatador.format(data);
        
        return "relatorio";
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public PieChartModel getPieModel() {
		return pieModel;
	}

	public void setPieModel(PieChartModel pieModel) {
		this.pieModel = pieModel;
	}

	public String getDataFormatada() {
		return dataFormatada;
	}

	public void setDataFormatada(String dataFormatada) {
		this.dataFormatada = dataFormatada;
	}
	
}
